'''
  自动取款机
  1.账户信息数据源
  2.查看账户信息
  3.存钱（余额增加）
  4.取钱（余额减少）
  5.退出系统
  6.界面和交互（输入账号，密码）

'''
# 1.账户信息数据源
acc_list = [
    {'Account': '123456', 'name': 'zhangsan', 'Balance': '1000'},
    {'Account': '234567', 'name': 'lisi', 'Balance': '2000'},
    {'Account': '345678', 'name': 'wangwu', 'Balance': '3000'}
]

sid = 0

# 2.输入账户查出账户信息
def show_accs_info():
    '''

    :return:
    '''
    acc_key=input('请输入您的账号：',)
    if acc_key == '123456':
        i = 0
        print('|{0:<10}|{1:<10}|{2:<10}|'.format('Account', 'name', 'Balance'))
        print('-' * 50)
        sid = i
        print('|{0:<10}|{1:<10}|{2:<10}|'.format(acc_list[sid]['Account'], acc_list[sid]['name'],
                                                 acc_list[sid]['Balance']))
        print(sid)
    elif acc_key == '234567':
        i = 1
        print('|{0:<10}|{1:<10}|{2:<10}|'.format('Account', 'name', 'Balance'))
        print('-' * 50)
        sid = i
        print('|{0:<10}|{1:<10}|{2:<10}|'.format(acc_list[sid]['Account'], acc_list[sid]['name'],
                                                 acc_list[sid]['Balance']))
        print(sid)
    elif acc_key == '345678':
        i = 2
        print('|{0:<10}|{1:<10}|{2:<10}|'.format('Account', 'name', 'Balance'))
        print('-' * 50)
        sid = i
        print('|{0:<10}|{1:<10}|{2:<10}|'.format(acc_list[sid]['Account'], acc_list[sid]['name'],
                                                 acc_list[sid]['Balance']))
        print(sid)
    else:
        print('账号不存在')
    return sid

# 3.查询余额
def pri_balance():
    '''

    :return:
    '''
    sid3=sid
    acc_nub = acc_list[sid3]
    print('您的余额为：')
    print(acc_nub['Balance'])
    return sid3
# 4.存款
def save_money(save_nub=0,sid1=0):
    '''

    :return:
    '''
    sid1 = sid
    save_nub=input('请输入存款金额：',)
    acc_nub=acc_list[sid1]
    acc_nub['Balance']=int(acc_nub['Balance'])+int(save_nub)
    print('操作成功，您的账户信息为：')
    print('|{0:<10}|{1:<10}|{2:<10}|'.format('Account', 'name', 'Balance'))
    print('|{0:<10}|{1:<10}|{2:<10}|'.format(acc_nub['Account'],acc_nub['name'],acc_nub['Balance']))
    return sid1
#save_money(0,show_accs_info())

# 5.取款
def remove_money(remove_nub=0,sid2=0):
    '''

    :return:
    '''
    sid2 = sid
    remove_nub=input('请输入存款金额：',)
    acc_nub = acc_list[sid2]
    acc_nub['Balance'] = int(acc_nub['Balance']) - int(remove_nub)
    print('操作成功，您的账户信息为：')
    print('|{0:<10}|{1:<10}|{2:<10}|'.format('Account', 'name', 'Balance'))
    print('|{0:<10}|{1:<10}|{2:<10}|'.format(acc_nub['Account'], acc_nub['name'], acc_nub['Balance']))
    return sid2

sid=show_accs_info()
while True:
    print('1.查询余额','\n2.存款','\n3.取款','\n4退出')
    sel_fun=int(input('请选择您需要办理的业务：',))
    if sel_fun == 1:
        pri_balance()
    elif sel_fun == 2:
        save_money(save_nub=0, sid1=0)
    elif sel_fun == 3:
        remove_money(remove_nub=0,sid2=0)
    elif sel_fun == 4:
        break
